草庐IT

JavaSparkContext 不可序列化

全部标签

java - 使 "class"成为 transient 或可序列化但该类是可序列化的

在检查我的代码后,SonarQube5.1标记了很多关键问题。但是类本身和字段中的引用类也是可序列化的。被引用类通过类继承可序列化接口(interface)。这是我的例子publicclassAimplementsSerializable{privateBb;//->Sonarcubemarkesthisfieldasnotserialzable}B类定义如下publicclassBextendsC{....}C类定义如下publicabstractclassCextendsD{....}定义了类DpublicabstractclassDimplementsSerializable{.

java - 如何在反序列化对象中保留字段的默认值?

我的情况如下:对象TableC有4个字段。从JSON字符串中仅读取3个字段(field_C1、field_C2和field_C3)。第四个字段field_C4在具有默认值的对象中定义。当我序列化对象实例(用于输出)时-它忽略字段field_C4,我期望默认值为"1"或"null“。当我将程序中的实例字段的值显式定义为"NEW"时,它确实将其包含在Json输出字符串中。查看输出,在反序列化过程中创建对象实例时,构造函数似乎也被忽略了。激活对象实例的其他字段的最佳做法是什么-这些字段未包含在输入Json字符串的反序列化版本中?packagenewpackage;importjava.uti

java - Gson:序列化 java.nio.Path 导致 StackOverflowError

序列化它,导致StackOverFlowError:importjava.nio.file.Path;importjava.nio.file.Paths;publicclassTmp{privatePathpath=null;publicTmp(){path=Paths.get("c:\\temp\\");}}在我看来这像是一个错误!或者我做错了什么?是否有解决方法(期望编写一些将路径转换为字符串的自定义序列化程序)java.lang.StackOverflowErroratcom.google.gson.internal.$Gson$Types.resolve($Gson$Types

java - Jackson:获取反序列化的空引用

我将spring-mvc用于restful服务。通过添加依赖项,我的其余Controller自动从我的响应实体生成json。依赖性jackson='2.9.0'compile"com.fasterxml.jackson.core:jackson-databind:$jackson"对象@Getter@SetterpublicfinalclassUserDTO{[...]privateintid;privateSetactivities=Sets.newHashSet();}@Getter@SetterpublicfinalclassActivityDTO{[...]privateint

java - 具有嵌套类型信息属性的 Jackson 多态反序列化

我受到给定JSON结构的限制:{"metadata":{"eventName":"FooEvent","field1":"bla"},"event":{...}}如何使用多态反序列化和嵌套类型信息属性对其进行反序列化?我在@JsonTypeInfo中使用metadata.eventName嵌套属性,如下所示:@JsonTypeInfo(use=Id.NAME,include=As.EXISTING_PROPERTY,visible=true,property="metadata.eventName")@JsonSubTypes({@Type(name="fooEvent",value=

java - 不可思议的堆栈跟踪

通过分析一个问题,我试图理解这个奇怪的堆栈跟踪:Thread3049:(state=BLOCKED)-java.lang.Object.wait(long)@bci=0(Compiledframe;informationmaybeimprecise)-java.io.PipedInputStream.read()@bci=142,line=326(Compiledframe)-java.io.PipedInputStream.read(byte[],int,int)@bci=43,line=377(Compiledframe)-org.apache.http.entity.InputS

java - AWS Fargate 主机名不可用?

我正在尝试设置一个简单的应用程序。是从https://budgetapp.docsapp.io/拖过来的并打算在公共(public)场所工作。我的任务是以最自动化的方式部署它,并将java机器的指标公开给公众(远程jConsole)。最终,它应该以大约15个精确副本的形式站起来。对于此任务,我选择了AWSFargate。它完美地设置了应用程序,它返回管理端口上的指标(它由Dropwizard部署)。我挣扎的是监控。它应该是真实的,并且至少显示CPU和内存使用情况。我可以在docker上本地完成,但Fargate缺少一件重要的事情。为部署的任务设置主机名。我得到的错误:错误:代理抛出的异

java - 使用 Scala 和 Jackson 以及 java.lang.Integer 或 scala.Int 对泛型类型进行奇怪的反序列化问题

我们都知道泛型类型在Java和Scala下会被类型删除。但是我们在使用Jackson和ScalaJackson模块的Scala中遇到了一个奇怪的问题。我创建了一个小测试来展示这个问题。importcom.fasterxml.jackson.databind.ObjectMapperimportcom.fasterxml.jackson.module.scala.DefaultScalaModuleobjectGenericTest{caseclassTestWithInt(id:Option[Int])caseclassTestWithInteger(id:Option[Integer

java - 将代理类序列化到文件

我有一个在JVM运行时生成的代理(生成为JDKProxy或CGLIB代理)。我想知道是否有办法将此类(看起来像com.sun.proxy$Proxy123.class)的内容写入文件,以便我可以使用类似jd-eclipse的反编译器来查看代码类型产生。由于该类存在于JVM中,我想知道是否有一种方法可以要求ClassLoader为实际类提供InputStream/URL,然后可用于将内容写入磁盘-以及磁盘上的这个文件可以使用jd-eclipse或javap读取。我知道这不是生产用例,但我很想看看这个动态生成的类的内容。谢谢! 最佳答案

java - 如何将 scala.collection.Set 转换为 java.util.Set 并在 RDD 中进行序列化

我有一个scala.collection.SetscalaSet:Set[Long]。我如何才能将其转换为可序列化的java.util.Set。我尝试了以下代码,但得到了java.io.notserializableexception:scala.collection.convert.wrappers$setWrapperimportscala.collection.JavaConversions._ClassMySerializableClassextendsSerializable{//methodtoimplementtheScalatoJavaoperationsonthegi